Technote 1129

LaserWriter 8.5.1: The Settings Library


ñ⁄éü

SettingsLib ÇΔ PrintingLib

SettingsLib ÉCÉìÉ^ÉtÉFÅ[ÉX

ägí£ 'PAPA' ÇΔ SettingsLib

óvñÒ

éQçlï∂å£

ÉvÉäÉìÉ^ê›íËÉâÉCÉuÉâÉä (SettingsLib) ÇÕ LaserWriter 8.5.1 Ç≈ì±ì¸Ç≥ÇÍNjǵÇΩÅBDZÇÍÇégǧÇΔÅAÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÇçÏê¨ÇµÇΩÇΔÇ´Ç… LaserWriter 8 Ç™çÏê¨Ç∑ÇÈèÓïÒÇ…ÉAÉvÉäÉPÅ[ÉVÉáÉìÇ©ÇÁÉAÉNÉZÉXǵÅAïœçXÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBSettingsLib ÇÕÅAÉvÉäÉìÉ^ÉhÉâÉCÉoÇÃàŸÇ»ÇÈïîï™ÅAàŸÇ»ÇÈÉvÉäÉìÉ^ÉhÉâÉCÉoÇΔÉfÉXÉNÉgÉbÉvÉvÉäÉìÉgÉÇÉjÉ^ǻǫÇÃÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÉNÉâÉCÉAÉìÉgä‘Ç≈ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇÃè’ìÀÇñhǨNjÇ∑ÅBÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇÕÅALaserWriter 8 ÇÃÉvÉäÉtÉ@ÉåÉìÉXÉtÉ@ÉCÉãÇ…ï€ë∂Ç≥ÇÍǃǢNjÇ∑ÅBSettingsLib ÇÕÅALaserWriter 8 Çà 'PAPA' ÉäÉ\Å[ÉXå`éÆÇ…àÀë∂Ç∑ÇÈè]óàÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÇ≈ì¡Ç…óLå¯Ç≈Ç∑ÅBLaserWriter 8.5.1 Ç™ì±ì¸Ç≥ÇÍǃÅA'PAPA' ÉäÉ\Å[ÉXÇÃÉTÉCÉYÇ™ïœÇÌÇËÅAÉTÉCÉYÇ…àÀë∂Ç∑ÇÈÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕìÆçÏǵǻÇ≠Ç»ÇËNjǵÇΩÅBÉäÉ\Å[ÉXÉTÉCÉYÇÕÅAç°å„LJïœÇÌÇÈâ¬î\ê´Ç™Ç†ÇÈÇÃÇ≈ÅAÉAÉbÉvÉãÇÕDZÇÃñ‚ëËÇâÒîÇ∑ÇÈÇΩÇflÇ… SettingsLib Çì±ì¸ÇµÇ‹ÇµÇΩÅBDZÇà TECHNOTE Ç≈ÇÕ SettingsLib API ÇÃäTóvDžǬǢǃê‡ñæÇµÇ‹Ç∑ÅB


SettingsLib ÇΔ PrintingLib

SettingsLib ÇÕ PrintingLib ÉtÉ@ÉCÉãÇ…ä‹Ç‹ÇÍÇÈÉRÅ[ÉhÉtÉâÉOÉÅÉìÉgÇ≈Ç∑ÅBSettingsLib ÇÕÅAPrintingLib ì‡ÇÃëºÇÃÉRÅ[ÉhÉtÉâÉOÉÅÉìÉgÇΔ LaserWriter 8 Ç™ÅAï€ë∂Ç≥ÇÍÇΩÉvÉäÉìÉ^èÓïÒÇ…ÉAÉNÉZÉXÇ∑ÇÈÇΩÇflÇ…égópǵNjÇ∑ÅBSettingsLib API Ç…ÉAÉNÉZÉXÇ∑ÇÈÇΩÇflÇ…ÇÕÅAPrintingLib ÇΔÉäÉìÉNÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅB

Å@

SettingsLib ÉCÉìÉ^ÉtÉFÅ[ÉX

ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇÃè’ìÀÇîÇØÇÈÇΩÇflÇ…ÅAÉNÉâÉCÉAÉìÉgÇÕåàǵǃÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇäJǢǃÇÕÇ»ÇËÇ‹ÇπÇÒÅBë„ÇÌÇËÇ…ÅADZÇÃÉZÉNÉVÉáÉìÇÃÉãÅ[É`ÉìÇégǡǃÅAå¬ÅXÇÃÉvÉäÉìÉ^èÓïÒÇÃÉRÉåÉNÉVÉáÉìÇéÊìæÇµÅAèáÇ…ÉfÅ[É^ÉxÅ[ÉXì‡ÇÃÉvÉäÉìÉ^ÉGÉìÉgÉäÇí≤Ç◊ǃÇ≠ÇæÇ≥Ç¢ÅB

Å@

psGetPrintingPrefsFolder

SettingsLib ÉCÉìÉ^ÉtÉFÅ[ÉXÇÃê≥ǵǢégÇ¢ï˚ÇΔǵǃÅAÉNÉâÉCÉAÉìÉgÇÕÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇÉtÉ@ÉCÉãñºÇÃÇ›Ç≈ï\ǵNjÇ∑ÅBSettingsLib ÇÕÅAÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇÃdžÇÈÉ{ÉäÉÖÅ[ÉÄÇΔÉtÉHÉãÉ_ÇÕÇÌǩǡǃǢNjÇ∑ÇÃÇ≈ÅAå¬ÅXÇÃÉfÅ[É^ÉxÅ[ÉXÇÕñºëOÇ≈ì¡íËÇ≈Ç´Ç‹Ç∑ÅBåªç›ÅAÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇÕÅgÉVÉXÉeÉÄê›íËÅhÉtÉHÉãÉ_ì‡ÇÃÅgàÛç¸ê›íËÅhÉtÉHÉãÉ_Ç…ì¸Ç¡ÇƒÇ¢Ç‹Ç∑ÅBÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇÃdžÇÈÉtÉHÉãÉ_ÇÃà íuÇéÊìæÇ∑ÇÈÇ…ÇÕÅApsGetPrintingPrefsFolder() ÇégópǵǃÇ≠ÇæÇ≥Ç¢ÅBDZÇà API ÇÕÅAÉvÉäÉìÉgä÷òAÇÃÉfÅ[É^ÇÃèÍèäÇímÇËÇΩÇ¢èÍçáDžLJégǢNjÇ∑ÅB

OSStatus psGetPrintingPrefsFolder(short *vRef, long *folderId);

DZÇÃä÷êîÇÕÅAåªç›ÇÃÉVÉXÉeÉÄÇÃàÛç¸ê›íËÉtÉHÉãÉ_ÇíTǵÅAïKóvÇ»èÍçáÇÕçÏê¨ÇµÇ‹Ç∑ÅBä÷êîÇÃñflÇËÇ≈ÅAàÛç¸ê›íËÉtÉHÉãÉ_ÇÃÉ{ÉäÉÖÅ[ÉÄÇ *vRef Ç…ÅAÉfÉBÉåÉNÉgÉä ID Ç *folderId Ç…ê›íËǵNjÇ∑ÅBÉtÉHÉãÉ_Ç™ë∂ç›ÇπÇ∏ÅAçÏê¨Ç∑ÇÈDZÇΔLJÇ≈Ç´Ç»ÇØÇÍÇŒÅAÉGÉâÅ[Çï‘ǵNjÇ∑ÅB

Å@

psGetPrefsPrinterInfo

ÉNÉâÉCÉAÉìÉgÇÕÅAÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXñºÇΔì¡íËÇÃÉvÉäÉìÉ^Çà 'PAPA' ÉnÉìÉhÉãÇ™ÇÌÇ©ÇÍÇŒÅApsGetPrefsPrinterInfo() ÇégǡǃǪÇÃÉvÉäÉìÉ^ÇÃèÓïÒÇ™ì¸Ç¡ÇƒÇ¢ÇÈÉRÉåÉNÉVÉáÉìÇéÊìæÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBÉRÉåÉNÉVÉáÉìì‡ÇÃå¬ÅXÇÃçÄñ⁄Ç…ÇÕÅAÉRÉåÉNÉVÉáÉìÉ}ÉlÅ[ÉWÉÉÇégǡǃÉAÉNÉZÉXÇ≈Ç´Ç‹Ç∑ÅBÉNÉâÉCÉAÉìÉgÇÕÅAÉRÉåÉNÉVÉáÉìÉ}ÉlÅ[ÉWÉÉÇà DisposeCollection() Ç≈ÉRÉåÉNÉVÉáÉìÇîjä¸ÇµÇ»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅBÉRÉåÉNÉVÉáÉìÉ}ÉlÅ[ÉWÉÉÇÃè⁄ç◊DžǬǢǃÇÕÅAÅwInside Macintosh: QuickDraw GX Environment and UtilitiesÅxÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB

Collection psGetPrefsPrinterInfo(StringPtr prefsName, Handle papa);

'PAPA' Ç≈éwíËǵÇΩÉvÉäÉìÉ^DžǬǢǃÇÃèÓïÒÇä‹ÇfiÉRÉåÉNÉVÉáÉìÇï‘ǵNjÇ∑ÅBèÓïÒÇÕÅAprefsName Ç≈ñºëOÇ™éwíËÇ≥ÇÍÇΩàÛç¸ê›íËÉtÉ@ÉCÉãÇ©ÇÁéÊìæÇµÇ‹Ç∑ÅBÉRÉåÉNÉVÉáÉìÇ™éÊìæÇ≈ǴǻǢèÍçáÇÕÅANULL Çï‘ǵNjÇ∑ÅB

ÉtÉ@ÉCÉãñºÇÕÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇì¡íËǵNjÇ∑Ç™ÅA'PAPA' Çä‹ÇfiÉnÉìÉhÉãÇÕÉfÅ[É^ÉxÅ[ÉXì‡ÇÃå¬ÅXÇÃÉvÉäÉìÉ^Çì¡íËǵNjÇ∑ÅB'PAPA' ÇÕÅA3 ǬÇà Pascal ï∂éöóÒÇë©ÇÀÇΩLJÇÃÇ…ÅAì¡íËÇÃÉvÉäÉìÉ^Ç…å≈óLÇ»í êMï˚ñ@Çï\Ç∑ÉfÅ[É^Ç™ë±Ç¢ÇΩLJÇÃÇ≈Ç∑íç1ÅBDZÇÃÇΩÇflÅASettingsLib ÇÕ 3 ǬÇÃÉpÉXÉJÉãï∂éöóÒÇ…ë±Ç≠ÉfÅ[É^ÇÕâéflǵNjÇπÇÒÅBì‡óeÇÕÉNÉâÉCÉAÉìÉgÇ™åàíËǵNjÇ∑ÅB(*1) 'PAPA' ÇÃêÊì™Çà 3 ǬÇà Pascal ï∂éöóÒÇÕÅAÉvÉäÉìÉ^ñºÅAÉlÉbÉgÉèÅ[ÉNÉIÉuÉWÉFÉNÉgÉ^ÉCÉvÅAÉvÉäÉìÉ^ÇÃÉ]Å[ÉìñºÇ≈Ç∑ÅBDZÇÍÇÁÇà 3 ǬÇÃï∂éöóÒÇÕì¡íËÇÃÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÉGÉìÉgÉäÇéØï ÇµÇ‹Ç∑ÅBǬNjÇËÉfÅ[É^ÉxÅ[ÉXÇÃÉLÅ[Ç…Ç»ÇËÇ‹Ç∑ÅBè⁄ç◊DžǬǢǃÇÕÅATECHNOTE 1115ÅuLaserWriter 8.5.1: ägí£ 'PAPA' ÉäÉ\Å[ÉXÅvÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB

Å@

psUpdatePrefsPrinterInfo ÇΔ psRemovePrefsPrinterInfo

ÉNÉâÉCÉAÉìÉgÇ™ì¡íËÇÃÉvÉäÉìÉ^ÇãLèqÇ∑ÇÈÉRÉåÉNÉVÉáÉìÇéÊìæÇµÇΩÇÁÅAÉRÉåÉNÉVÉáÉìÉ}ÉlÅ[ÉWÉÉÇégǡǃǪÇÃÉvÉäÉìÉ^èÓïÒÇí«â¡ÅAçÌèúÅAïœçXÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBÉNÉâÉCÉAÉìÉgÇÕïKóvÇ»ïœçXÇçsÇ¡ÇΩÇÁÅApsUpdatePrefsPrinterInfo() Ç≈ÅAéwíËÇÃÉvÉäÉìÉ^ÇÃä˘ë∂ÇÃÉRÉåÉNÉVÉáÉìÇêVǵǢÉRÉåÉNÉVÉáÉìÇ≈íuÇ´ä∑ǶNjÇ∑ÅBpsUpdatePrefsPrinterInfo() ÇåƒÇ—èoǵÇΩèÍçáÇ≈LJÅAÉRÉåÉNÉVÉáÉìÇîjä¸Ç∑ÇÈÇÃÇÕÉNÉâÉCÉAÉìÉgÇÃññ⁄Ç≈Ç∑ÅBÉfÅ[É^ÉxÅ[ÉXÇ©ÇÁÉvÉäÉìÉ^ÇäÆëSÇ…éÊÇËèúÇ≠Ç…ÇÕÅApsRemovePrefsPrinterInfo() ÇégópǵNjÇ∑ÅB

OSErr psUpdatePrefsPrinterInfo(StringPtr prefsName, Handle papa, Collection prInfo);

ÉRÉåÉNÉVÉáÉì prInfo ì‡ÇÃÅAPAPA Ç≈éwíËÇ≥ÇÍÇΩÉvÉäÉìÉ^èÓïÒÇ prefsName ÇΔǢǧñºëOÇÃê›íËÉfÅ[É^ÉxÅ[ÉXÇ…ï€ë∂ǵNjÇ∑ÅBPAPA Ç≈éwíËǵÇΩÉvÉäÉìÉ^ÇÃÇ∑Ç◊ǃÇÃèÓïÒÇ™ prInfo ÇÃèÓïÒÇ≈íuÇ´ä∑ǶÇÁÇÍÇ‹Ç∑ÅB

OSErr psRemovePrefsPrinterInfo(StringPtr prefsName, Handle papa, Collection prInfo);

PAPA Ç≈éwíËÇ≥ÇÍÇΩÉvÉäÉìÉ^ÇÃÇ∑Ç◊ǃÇÃèÓïÒÇ prefsName ÇΔǢǧàÛç¸ê›íËÉtÉ@ÉCÉãÇ©ÇÁéÊÇËèúÇ´Ç‹Ç∑ÅBPAPA Ç™ NULL ÇÃèÍçáÅAprInfo ÇÉvÉäÉìÉ^ñºÇÃÉqÉìÉgÇΔǵǃåüçıǵÅAê›íËÉfÅ[É^ÉxÅ[ÉXÇ©ÇÁçÌèúÇ∑ÇÈÉGÉìÉgÉäÇëIëÇ∑ÇÈÇÃÇ…égǢNjÇ∑ÅB

ÉfÉxÉçÉbÉpÇ™å≈óLÇÃÉfÅ[É^Çí«â¡Ç∑ÇÈèÍçáÇÕÅA'APPL' ÇΔìoò^é“ÇÃÉNÉäÉGÅ[É^É^ÉCÉvÇï\Ç∑ ID ÇéwíËÇ∑ÇÈDZÇΔÇÇ®Ç∑Ç∑ÇflǵNjÇ∑ÅBó·Ç¶ÇŒÅAAdobe Acrobat Ç™å≈óLÉfÅ[É^Çï€ë∂Ç∑ÇÈèÍçáÇÕÅAÉ^ÉOÇ 'APPL'ÅAID Ç 'CARO' DžǵNjÇ∑ÅBDZÇÃÇÊǧDžÅAäeÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÉfÅ[É^ÉxÅ[ÉXì‡ÇÃÉXÉçÉbÉgÇ 1 Ç¬ÇæÇØégópǵNjÇ∑ÅBÇ≥ÇÁÇ…ÅAÉXÉçÉbÉgÇ…ï€ë∂Ç∑ÇÈÉfÅ[É^ÇÕÉtÉâÉbÉgÇ»ÉRÉåÉNÉVÉáÉìDžǵÅAǪÇÃíÜÇ≈îCà”ÇÃÉ^ÉOÇΔ ID ÇégópÇ∑ÇÈDZÇΔÇÇ®Ç∑Ç∑ÇflǵNjÇ∑ÅB

Å@

#define kHintAppPrivateTag APPL
#define kHintAppPrivateId    // ÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÉNÉäÉGÅ[É^É^ÉCÉv
#define kHintAppPrivateVar   // ÉtÉâÉbÉgÇ»ÉRÉåÉNÉVÉáÉì

íçà”:
ÉAÉbÉvÉãÇÕ 'APPL' Çó\ñÒǵǃǮÇËÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇ‚ÉhÉâÉCÉoÇ≈ÇÕǻǢÉvÉçÉOÉâÉÄÇ™ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇ‚ëºÇà PrintingLib ÉRÉåÉNÉVÉáÉìÇ…èÓïÒÇï€ë∂Ç≈Ç´ÇÈÇÊǧDžǵǃǢNjÇ∑ÅBÉhÉâÉCÉoÇ≈ǻǢÉvÉçÉOÉâÉÄÇÕÅAìoò^çœÇ›ÇÃÉNÉäÉGÅ[É^É^ÉCÉvÇÉfÅ[É^Çà ID ÇΔǵǃéwíËǵǃÇ≠ÇæÇ≥Ç¢ÅBÉfÅ[É^ÇÃì‡óeÇÕÉtÉâÉbÉgÇ»ÉRÉåÉNÉVÉáÉìÇ≈Ç»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅB

Å@

psCountPrefsPrinters Ç®ÇÊÇ— psGetPrefsIndName

ÉfÅ[É^ÉxÅ[ÉXì‡ÇÃÉvÉäÉìÉ^ÇÇ∑Ç◊ǃóÒãìÇ∑ÇÈïKóvǙdžÇÈèÍçáÅAÉNÉâÉCÉAÉìÉgÇÕÇ‹Ç∏ psCountPrefsPrinters() ÇåƒÇ—èoǵǃÅAÉfÅ[É^ÉxÅ[ÉXì‡ÇÃÉvÉäÉìÉ^ÇÃë‰êîÇí≤Ç◊Ç»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅBÉvÉäÉìÉ^ÇÃëçêîÇ™ÇÌǩǡÇΩÇÁÅApsGetPrefsIndName() Ç…ÉCÉìÉfÉbÉNÉXÇ 1 Ç©ÇÁÉvÉäÉìÉ^ÇÃëçêîÇ‹Ç≈ (ëçêîLJä‹Çfi) éwíËǵǃÅAÉvÉäÉìÉ^ÇóÒãìÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBpsGetPrefsIndName() ÇÕÅAÉCÉìÉfÉbÉNÉXÇ≈éwíËÇ≥ÇÍÇΩÉvÉäÉìÉ^èÓïÒÉRÉåÉNÉVÉáÉìÇ©ÇÁÉvÉäÉìÉ^ñºÇΔÉ]Å[ÉìñºÇï‘ǵNjÇ∑íç2ÅB

long psCountPrefsPrinters(StringPtr prefsName);

prefsName Ç≈éwíËÇ≥ÇÍÇΩÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXì‡ÇÃÉvÉäÉìÉ^ÇÃë‰êîÇï‘ǵNjÇ∑ÅB

OSErr psGetPrefsIndName(StringPtr prefsName, long index, StringPtr name, StringPtr zone);

psGetPrefsIndName() ÇÕÅAprefsName Ç≈éwíËÇ≥ÇÍÇΩÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXì‡ÇÃÉvÉäÉìÉ^èÓïÒÉRÉåÉNÉVÉáÉìÇóÒãìǵNjÇ∑ÅBÉCÉìÉfÉbÉNÉXÇÕ 1 Ç©ÇÁ psCountPrefsPrinters() Ç™ï‘Ç∑íl (ǪÇÃílÇä‹Çfi) Ç‹Ç≈Ç≈Ç»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅBäeÉCÉìÉfÉbÉNÉXDžǬǢǃÅAä÷êîÇÕ name Ç…ÉvÉäÉìÉ^ñºÇ zone Ç…ÉvÉäÉìÉ^É]Å[ÉìÇï‘ǵNjÇ∑ÅBä÷êîÇåƒÇ—èoÇ∑ÇΔÇ´Ç…ÇÕÅAname ÇΔ zone ÇÕè≠Ç»Ç≠ÇΔLJ Str32 å^ÇÃï∂éöîzóÒÇéwÇ∑ïKóvǙdžÇËÇ‹Ç∑ÅBÉNÉâÉCÉAÉìÉgÇÕï‘Ç≥ÇÍÇΩ name ÇΔ zone Ç≈ÅAëºÇà SettingsLib ÉãÅ[É`ÉìÇ…ìnÇ∑ 'PAPA' Çç\ízǵNjÇ∑ÅB

Å@

ägí£ 'PAPA' ÇΔ SettingsLib

PrintingLib 8.5.1 ÇÕÅATECHNOTE 1115ÅuLaserWriter 8.5.1: ägí£ 'PAPA' ÉäÉ\Å[ÉXÅvÇ≈ê‡ñæÇ≥ÇÍǃǢÇÈägí£ 'PAPA' ÉåÉRÅ[ÉhÇÃégópÇÉTÉ|Å[ÉgǵNjÇ∑ÅBägí£ 'PAPA' ÉtÉHÅ[É}ÉbÉgÇíºê⁄àµÇÌÇ»ÇØÇÍnjǻÇÁǻǢÉNÉâÉCÉAÉìÉgÇÃêîÇå∏ÇÁÇ∑ÇΩÇflÅASettingsLib ÇÕägí£ 'PAPA' ÉnÉìÉhÉãÇÃçÏê¨ÇΔ 'PAPA' ì‡ÇÃÉ^ÉOïtÇ´ÇÃílÇÃê›íËÇΔéQèΔÇÃÇΩÇflÇÃÉãÅ[É`ÉìÇíÒãüǵNjÇ∑ÅBDZÇÃÉZÉNÉVÉáÉìÇ≈ÇÕÅAǪÇÃÇΩÇflÇà API Çê‡ñæÇµÇ‹Ç∑ÅB

psSetPapPapaÅApsSetInfraredPapaÅApsSetFilePapaÅApsSetHoldPapaÅApsSetLprPapaÅApsSetCustomPapa

êVǵǢägí£ 'PAPA' ÉåÉRÅ[ÉhÇçÏê¨Ç∑ÇÈÇΩÇflÇ…ÇÕÅASettingsLib ÉNÉâÉCÉAÉìÉgÇÕ NewHandle() Ç≈êVǵǢÉåÉRÅ[ÉhÇäÑÇËìñǃÅAǪÇÃÉnÉìÉhÉãÇΔ PAP ÉvÉäÉìÉ^ñºÅAÉIÉuÉWÉFÉNÉgÉ^ÉCÉvÅAÉ]Å[ÉìÅAÉIÉvÉVÉáÉìÇ≈ AppleTalk ÇÃÉAÉhÉåÉXÉuÉçÉbÉNÇäeéÌ psSetXXXPapa() ÉãÅ[É`ÉìÇ…ìnǵNjÇ∑ÅBÉÅÉÇÉäÉuÉçÉbÉNÇ…ÇÕǪÇÃÉvÉäÉìÉ^ÇÃägí£ 'PAPA' ÉåÉRÅ[ÉhÇ™ê›íËÇ≥ÇÍÇ‹Ç∑ÅB

OSStatus psSetPapPapa(Handle papaH, const Byte * printer, const Byte * atType, const Byte * zone, AddrBlock *addr);

DZÇÃä÷êîÇÕÅAAppleTalk Çà PAP ÉvÉäÉìÉ^ÇÃñºëO (printer Ç™éwÇ∑íl)ÅAAppleTalk ÉfÉoÉCÉXÉ^ÉCÉv (atType)ÅAAppleTalk É]Å[Éì (zone) Ç™éwíËÇ≥ÇÍÇÈÇΔÅAÉnÉìÉhÉã papaH ÇÃéwÇ∑ÉuÉçÉbÉNÇ… 'PAPA' Çç\ízǵNjÇ∑ÅBpapaH ÇÕÉÅÉÇÉäÉuÉçÉbÉNÇÃÉnÉìÉhÉãÇ≈ÅAç≈í· 103 ÉoÉCÉgïKóvÇ≈Ç∑ÅBaddr ÇÕ AppleTalk ÉAÉhÉåÉXÉuÉçÉbÉNÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅBä÷êîåƒÇ—èoǵéûì_Ç≈ addr Ç™ NULL Ç≈ǻǢÇΔÅA'PAPA' ì‡ÇÃÉvÉäÉìÉ^Å{É^ÉCÉvÅ{É]Å[Éìï∂éöóÒÇÃå„ÇÎÇ…ÉAÉhÉåÉXÉuÉçÉbÉNÇÉRÉsÅ[ǵNjÇ∑ÅB

addr Ç™ NULL ÇÃèÍçáÇÕÅA'PAPA' ì‡ÇÃÉAÉhÉåÉXÇ…É[ÉçÇê›íËǵNjÇ∑ÅB

OSStatus psSetInfraredPapa(Handle papaH, const Byte * printer, const Byte * zone);

DZÇÃä÷êîÇÕÅAÉnÉìÉhÉã papaH ÇÃéwÇ∑ÉÅÉÇÉäÇ…ê‘äOê¸ÉvÉäÉìÉ^ÇãLèqÇ∑ÇÈägí£ 'PAPA' Çê›íËǵNjÇ∑ÅBprinter ÇΔ zone ÇÕì¡íËÇÃÉvÉäÉìÉ^ÇéØï Ç∑ÇÈLJÇÃÇ≈Ç∑ÅBóºï˚Ç≈ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇ…èÓïÒÇï€ë∂Ç∑ÇÈÇΩÇflÇÃÉLÅ[ÇΔǵǃégÇÌÇÍÇ‹Ç∑ÅBpapaH ÇÕÉÅÉÇÉäÉuÉçÉbÉNÇÃÉnÉìÉhÉãÇ≈ÅAç≈í· 103 ÉoÉCÉgïKóvÇ≈Ç∑ÅB

OSStatus psSetFilePapa(Handle papaH, const Byte * printer, const Byte * zone);

DZÇÃä÷êîÇÕÅAÉnÉìÉhÉã papaH ÇÃéwÇ∑ÉÅÉÇÉäÇ…ÅuÉtÉ@ÉCÉãÇ…ï€ë∂ÅvÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÇãLèqÇ∑ÇÈägí£ 'PAPA' Çê›íËǵNjÇ∑ÅBprinter ÇΔ zone ÇÕì¡íËÇÃÉvÉäÉìÉ^ÇéØï Ç∑ÇÈLJÇÃÇ≈Ç∑ÅBóºï˚Ç≈ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇ…èÓïÒÇï€ë∂Ç∑ÇÈÇΩÇflÇÃÉLÅ[ÇΔǵǃégÇÌÇÍÇ‹Ç∑ÅBpapaH ÇÕÉÅÉÇÉäÉuÉçÉbÉNÇÃÉnÉìÉhÉãÇ≈ÅAç≈í· 103 ÉoÉCÉgïKóvÇ≈Ç∑ÅB

OSStatus psSetHoldPapa(Handle papaH, const Byte * printer, const Byte * zone);

DZÇÃä÷êîÇÕÅAÉnÉìÉhÉã papaH ÇÃéwÇ∑ÉÅÉÇÉäÇ…Åuï€óØÅvÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÇãLèqÇ∑ÇÈägí£ 'PAPA' Çê›íËǵNjÇ∑ÅBprinter ÇΔ zone ÇÕì¡íËÇÃÉvÉäÉìÉ^ÇéØï Ç∑ÇÈLJÇÃÇ≈Ç∑ÅBóºï˚Ç≈ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇ…èÓïÒÇï€ë∂Ç∑ÇÈÇΩÇflÇÃÉLÅ[ÇΔǵǃégÇÌÇÍÇ‹Ç∑ÅBpapaH ÇÕÉÅÉÇÉäÉuÉçÉbÉNÇÃÉnÉìÉhÉãÇ≈ÅAç≈í· 103 ÉoÉCÉgïKóvÇ≈Ç∑ÅB

OSStatus psSetLprPapa(Handle papaH, const Byte * printer, const Byte * zone, const Byte * tcpAddr, const Byte * qName);

DZÇÃä÷êîÇÕÅAÉnÉìÉhÉã papaH ÇÃéwÇ∑ÉÅÉÇÉäÇ…ÅulprÅvÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÇãLèqÇ∑ÇÈägí£ 'PAPA' Çê›íËǵNjÇ∑ÅBprinter ÇΔ zone ÇÕì¡íËÇÃÉvÉäÉìÉ^ÇéØï Ç∑ÇÈLJÇÃÇ≈Ç∑ÅBóºï˚Ç≈ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇ…èÓïÒÇï€ë∂Ç∑ÇÈÇΩÇflÇÃÉLÅ[ÇΔǵǃégÇÌÇÍÇ‹Ç∑ÅBtcpAddr ÇÕ lpr ÉvÉäÉìÉ^ÇÃÉlÉbÉgÉèÅ[ÉNÉAÉhÉåÉXÇ≈Ç∑ÅB

DZÇÃÉAÉhÉåÉXÇÕÅAñºëO (ó·Ç¶ÇŒÅA\plaser.rbi.com) Ç≈LJÉhÉbÉgÇ≈ãÊêÿÇÈå`éÆ (ó·Ç¶ÇŒÅA\p204.188.109.155) Ç≈LJǩNjǢNjÇπÇÒÅBqName ÇÕ tcpAddr è„ÇÃÉXÉvÅ[ÉâÇÃÉvÉäÉìÉgÉLÉÖÅ[ÇÃñºëOÇ≈Ç∑ÅBqName Ç™ NULL ÇÃèÍçáÅAÉvÉäÉìÉ^Å^ÉXÉvÅ[ÉâÇÃÉfÉtÉHÉãÉgÉLÉÖÅ[Ç™égÇÌÇÍÇ‹Ç∑ÅBpapaH ÇÕÉÅÉÇÉäÉuÉçÉbÉNÇÃÉnÉìÉhÉãÇ≈ÅAç≈í· 1024 ÉoÉCÉgïKóvÇ≈Ç∑ÅB

OSStatus psSetCustomPapa(Handle papaH, const Byte * printer, const Byte * zone);

DZÇÃä÷êîÇÕÅAÉnÉìÉhÉã papaH ÇÃéwÇ∑ÉÅÉÇÉäÇ…ÉJÉXÉ^ÉÄÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÇãLèqÇ∑ÇÈägí£ 'PAPA' Çê›íËǵNjÇ∑ÅBprinter ÇΔ zone ÇÕì¡íËÇÃÉvÉäÉìÉ^ÇéØï Ç∑ÇÈLJÇÃÇ≈Ç∑ÅBóºï˚Ç≈ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇ…èÓïÒÇï€ë∂Ç∑ÇÈÇΩÇflÇÃÉLÅ[ÇΔǵǃégÇÌÇÍÇ‹Ç∑ÅBpapaH ÇÕÉÅÉÇÉäÉuÉçÉbÉNÇÃÉnÉìÉhÉãÇ≈ÅAç≈í· 103 ÉoÉCÉgïKóvÇ≈Ç∑ÅBè⁄ç◊DžǬǢǃÇÕÅATECHNOTE 1113ÅuÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÉÜÅ[ÉeÉBÉäÉeÉBÇÃÉJÉXÉ^É}ÉCÉYÅvÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB

Å@

psPapaToCollection Ç®ÇÊÇ— psCollectionToPapa

ÉNÉâÉCÉAÉìÉgÇÕÅAägí£ 'PAPA' ÉåÉRÅ[ÉhÇ÷ÇÃÉnÉìÉhÉãÇéÊìæÇ∑ÇÈÇΔÅApsPapaToCollection() ÇΔ psCollectionToPapa() ÉãÅ[É`ÉìÇ≈ÅAägí£ 'PAPA' É^ÉOÉuÉçÉbÉNÇ÷ÉAÉNÉZÉXÇΔê›íËÇçsǧDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBpsPapaToCollection() ÉãÅ[É`ÉìÇÕägí£ 'PAPA' ÉåÉRÅ[ÉhÇΔÉRÉåÉNÉVÉáÉìÇ÷ÇÃÉnÉìÉhÉãÇéÊìæÇµÅAägí£ 'PAPA' Ç©ÇÁÉ^ÉOÇÃílÇÉRÉåÉNÉVÉáÉìÇ…ÉRÉsÅ[ǵNjÇ∑ÅBÉNÉâÉCÉAÉìÉgÇÕDZÇÃÉ^ÉOÇÃílÇÉRÉåÉNÉVÉáÉìÉ}ÉlÅ[ÉWÉÉÇ≈óÒãìÅAïœçXÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBpsCollectionToPapa() ÇÕÉRÉåÉNÉVÉáÉìÇ©ÇÁÉ^ÉOÇéÊÇËèoǵÅAägí£ 'PAPA' ÉåÉRÅ[ÉhÇ…ÉRÉsÅ[ǵNjÇ∑ÅBä˘ë∂ÇÃÉ^ÉOÇÕÇ∑Ç◊ǃíuÇ´ä∑ǶNjÇ∑ÅB

OSStatus psPapaToCollection(Handle papaH, Collection coll);

psPapaToCollection() ÇÕÅA'PAPA' ÉåÉRÅ[ÉhÇ÷ÇÃÉnÉìÉhÉã papaH ÇΔÉRÉåÉNÉVÉáÉì coll ÇéÛÇØéÊÇËÅA'PAPA' É^ÉOÇéùÇøÅAID Ç™ägí£ 'PAPA' ÉåÉRÅ[Éhì‡ÇÃÉ^ÉOÇ≈džÇÈàÍòAÇÃÉRÉåÉNÉVÉáÉìÉAÉCÉeÉÄÇ coll ì‡Ç…çÏê¨ÇµÇ‹Ç∑ÅBó·Ç¶ÇŒÅAägí£ 'PAPA' ÉåÉRÅ[Éh papaH Ç… TCP É^ÉCÉvÇÃÉ^ÉOǙdžÇÈÇΔÅAǪÇÃÉ^ÉOÇÃÉfÅ[É^ÇÉ^ÉOÇÕ 'PAPA'ÅAID ÇÕ TCP ÇΔǵǃ coll Ç…ÉRÉsÅ[ǵNjÇ∑ÅB

OSStatus psCollectionToPapa(Collection coll, Handle papaH);

DZÇÃÉãÅ[É`ÉìÇÕÅAÉRÉåÉNÉVÉáÉì coll ÇéÛÇØéÊÇËÅA'PAPA' É^ÉOÇéùǬÉRÉåÉNÉVÉáÉìÉAÉCÉeÉÄÇóÒãìǵÅAÉnÉìÉhÉã papaH ÇÃéwÇ∑ägí£ 'PAPA' ÉåÉRÅ[ÉhÇ…í«â¡ÇµÇ‹Ç∑ÅBÉRÉåÉNÉVÉáÉìÉAÉCÉeÉÄÇà ID ÇÕ 'PAPA' ì‡ÇÃÉ^ÉOÇ…Ç»ÇËÇ‹Ç∑ÅBpapaH ÇÃéwÇ∑ 'PAPA' ÉåÉRÅ[Éhì‡ÇÃä˘ë∂ÇÃÉ^ÉOÇÕÇ∑Ç◊ǃíuÇ´ä∑ǶÇÁÇÍÇ‹Ç∑ÅBëSïîÇÃÉ^ÉOÇ™é˚Ç‹ÇÁǻǢÇΔÅAÉGÉâÅ[ errNoRoomInPapa (-8941) Ç™ï‘Ç≥ÇÍÇ‹Ç∑ÅBëSïîÇÃÉ^ÉOÇ™é˚Ç‹ÇÈèÍçáÇÕ 'PAPA' Ç…í«â¡Ç≥ÇÍÇ‹Ç∑ÅB

Å@

psGetDTPType

ÉNÉâÉCÉAÉìÉgÇ™ägí£ 'PAPA' ÇéÊìæçœÇ›ÇÃèÍçáÅApsGetDTPType() Ç≈ 'PAPA' Ç™ãLèqÇ∑ÇÈÉvÉäÉìÉ^ÇÃÉ^ÉCÉvÇí≤Ç◊ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB

psGetDTPType() ä÷êîÇégǡǃÅA'PAPA' ÉnÉìÉhÉãÇ™ãLèqÇ∑ÇÈÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ (DTP) ÇÕÅAéüÇà DTPType ÇÃÇ¢Ç∏ÇÍǩDžï™ófiÇ≥ÇÍÇ‹Ç∑ÅB

Å@

typedef enum{
 kInvalidDTP =  0,      // ñ≥å¯Ç» DTP É^ÉCÉv
 kHoldDTP = '=Hld',     // ï€óØ DTP Ç©ÇÁÉvÉäÉìÉgÉLÉÖÅ[Ç…ÉXÉvÅ[ÉãÇ≥ÇÍÇΩÉWÉáÉuÇÕ
                        // èÌÇ…ï€óØÇ…Ç»ÇÈ
 kFileDTP = '=Fil',     // ÅuÉtÉ@ÉCÉãÇ…ï€ë∂Åvê›íËÇà DTP ÇÕàÛç¸Ç≥ÇÍǻǢÅB
                        // PS/PDF ÉtÉ@ÉCÉãÇ™çÏê¨Ç≥ÇÍÇÈÇæÇØÅB
 kLprDTP = '=LPR',      // LPR ÉvÉäÉìÉ^ÇÕ TCP ÇâÓǵǃ LPR ÉXÉvÅ[ÉâÅ^ÉvÉäÉìÉ^Ç…
                        // ëóÇÁÇÍÇÈ
 kCustomDTP = '=Cst',   // ÉJÉXÉ^ÉÄ DTP ÇÕ PostScript ÇÃå„èàóùÇÃÇΩÇfl
                        // ÉAÉvÉäÉPÅ[ÉVÉáÉìÇãNìÆÇ∑ÇÈ
 kPapaDTP = 'PAP ',     // AppleTalk PAP ÉlÉbÉgÉèÅ[ÉNÉvÉäÉìÉ^
 kInfraRedDTP = '=Ird'  // ê‘äOê¸ÉäÉìÉNÇ≈ê⁄ë±Ç≥ÇÍÇΩÉvÉäÉìÉ^
} DTPType;

Å@

OSStatus psGetDTPType(Handle papaH, DTPType *dtpTypeP);

DZÇÃÉãÅ[É`ÉìÇÕÅAóLå¯Ç» 'PAPA' ÉnÉìÉhÉã papaH Ç™éwíËÇ≥ÇÍÇÈÇΔ DTP É^ÉCÉvÇ *dtpTypeP Ç…ê›íËǵNjÇ∑ÅBÉGÉâÅ[Ç™î≠ê∂Ç∑ÇÈÇΔÉGÉâÅ[ílÇï‘ǵÅA*dtpTypeP Ç kInvalidDTP Ç…ê›íËǵNjÇ∑ÅB

Å@

psIsValidPapaHandle

psIsValidPapaHandle() ÇÕÅAÉfÉoÉbÉOéûÇ…ï÷óòǻLJÇÃÇ≈ÅA'PAPA' ÉnÉìÉhÉãÇ™óLå¯Ç©Ç«Ç§Ç©í≤Ç◊Ç‹Ç∑ÅB'PAPA' Ç™ñ≥å¯ÇæÇΔévÇÌÇÍÇÈèÍçáÇÕ false Çï‘ǵNjÇ∑ÅB

Boolean psIsValidPapaHandle(Handle papaH);

papaH Ç™óLå¯Ç» 'PAPA' ÉnÉìÉhÉãÇ…évÇÌÇÍÇÈèÍçáÇÕ true Çï‘ǵNjÇ∑ÅB

Å@

óvñÒ

ÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÇÃÉAÉNÉZÉXè’ìÀÇîÇØÇÈÇΩÇflÇ…ÅALaserWriter 8 ÉhÉâÉCÉoÇÃì¡íËïîï™Ç…ÉAÉNÉZÉXÇ∑ÇÈïKóvǙdžÇÈÉfÉxÉçÉbÉpÇÕÅAïKÇ∏DZDZÇ≈ê‡ñæÇµÇΩÉvÉäÉìÉ^ê›íËÉâÉCÉuÉâÉä (SettingsLib) ÇégópÇ∑ÇÈDZÇΔÇÇ®Ç∑Ç∑ÇflǵNjÇ∑ÅB

Å@

éQçlï∂å£

Å@

íç1 SettingsLib Ç…ÇÕâeãøÇó^ǶǻǢLJÇÃÇÃÅAÉvÉäÉìÉ^ÉhÉâÉCÉoÇ…ãNàˆÇ∑ÇÈ 'PAPA' ÇÃêßå¿Ç™Ç†ÇËÇ‹Ç∑ÅBì¡Ç…ÅuMultiFinder FriendlyÅvÉrÉbÉgÇ…ëŒâûÇ∑ÇÈÇΩÇflÅAÉvÉäÉìÉ^ÉhÉâÉCÉoÇÕì‡ïîÇà 'PAPA' ÉäÉ\Å[ÉXÇÃÉTÉCÉYÇïœçXÇ≈Ç´Ç‹ÇπÇÒÅBǵÇΩǙǡǃÅAÉhÉâÉCÉoÇà 'PAPA' ÇÕå≈íËÉTÉCÉYÇ≈Ç∑ÅB

Å@

íç2 psGetPrefsIndName() Ç™ï‘Ç∑ílÇ…ÇÕÉlÉbÉgÉèÅ[ÉNÉIÉuÉWÉFÉNÉgñºÇ™î≤ÇØÇƒÇ¢Ç‹Ç∑ÅBåªç›ÅAÇ∑Ç◊ǃÇÃÉvÉäÉìÉ^ÉfÅ[É^ÉxÅ[ÉXÉGÉìÉgÉäÇÃÉlÉbÉgÉèÅ[ÉNÉIÉuÉWÉFÉNÉgñºÇÕ "LaserWriter" Ç≈Ç∑ÅBè´óàDZÇÃêßñÒÇâåàÇ∑ÇÈêVǵǢÉãÅ[É`ÉìÇ™í«â¡Ç≥ÇÍÇÈó\íËÇ≈Ç∑ÅB